package com.jiangxiaofei.citycloud.mvp;

import android.content.Context;

import com.jiangxiaofei.citycloud.httpUtil.BaseView;
import com.jiangxiaofei.citycloud.httpUtil.OnLoadDataIm;
import com.jiangxiaofei.citycloud.param.AddJobsParam;
import com.jiangxiaofei.citycloud.param.RecruitDoWorkParam;
import com.jiangxiaofei.citycloud.param.UserInfoParam;

/**
 * Created by Administrator on 2017/9/11 0011.
 */

public class RecruitConstant {
    /**
     * 登陆
     */
    public interface UserInfoModel {
        void getUserInfo(Context mContext, String name, String password, OnLoadDataIm callBack);
    }

    public interface UserInfoView extends BaseView {
        UserInfoParam getUserInfo();
    }

    public interface UserInfoPersenter {
        void getUserinfo();
    }

    /**
     * 获取工作标签
     */
    public interface WorkLabelModel {
        void getWorkLabel(Context mContext, OnLoadDataIm callback);
    }

    public interface WorkLabelView extends BaseView {
        void getWorkLabel();
    }

    public interface WorkLabelPersenter {
        void getWorkLabel();
    }

    //    发布求职信息
    public interface DoWorkModel {
        void postDoWork(Context mContext, int id, String introduce,
                        String coverage, String lat, String log, String role, String freetime,
                        OnLoadDataIm callback);
    }

    public interface DoWorkView extends BaseView {
        RecruitDoWorkParam postDoWork();

        void publishDoWork();
    }

    public interface DoWorkPersenter {
        void postDoWork();
    }

    //查看找活详情
    public interface DoWorkInfoModel {
        void getDoWorkInfo(Context mContext, int userId, OnLoadDataIm callback);
    }

    public interface DoWorkInfoView extends BaseView {
        int getDoWorkInfo();

        void getDoworkSuccess(Object o);
    }

    public interface DoWorkInfoPersenter {
        void getDoWorkInfo();
    }

    //    添加招聘信息
    public interface AddjobInfoModel {
        void addJobInfo(Context mContext, int userId, String role, String workspace, String workTime, String other
                , int pay, String phone, String contacts, String lat, String log, String description, OnLoadDataIm callback);
    }

    public interface AddJobInfoView extends BaseView {
        AddJobsParam addJobInfo();
    }

    public interface AddJobInfoPersenter {
        void addJobInfo();
    }

    //更新工作
    public interface UpdateJobModel {
        void updateJob(Context mContext, AddJobsParam param, OnLoadDataIm callback);
    }

    public interface UpdateJobView extends BaseView {
        void onSuccess();

        AddJobsParam updateJob();
    }

    public interface UpdateJobPerssenter {
        void updateJob();
    }

    //获取用户工作列表
    public interface GetJobListModel {
        void getJobList(Context mContext, int userId, OnLoadDataIm callback);
    }

    public interface GetJobListView extends BaseView {
        int getJobList();
    }

    public interface GetJobListPersenter {
        void getJobList();
    }

    //获取工作详情
    public interface GetJobInfoModel {
        void getJobInfo(Context mContext, int id, OnLoadDataIm callback);
    }

    public interface GetJobInfoView extends BaseView {
        void onSuccess(Object o);

        int getJobInfo();
    }

    public interface GetJobInfoPersenter {
        void getJobInfo();
    }

    //    获取干活人员坐标
    public interface GetWorkerModel {
        void getWorker(Context mContext, int role, OnLoadDataIm callback);
    }

    public interface GetWorkerView extends BaseView {
        int getWorkerRole();

        void onSuccessWorker(Object o);

        void onNull();
    }

    public interface GetWorkerPersenter {
        void getWorker();
    }

    //获取工作坐标
    public interface GetWorkModel {
        void getWork(Context mContext, int role, OnLoadDataIm callback);
    }

    public interface GetWorkView extends BaseView {
        int getWorkRole();

        void onSuccessWork(Object o);

        void onNull();
    }

    public interface GetWorkPersenter {
        void getWork();
    }

    //更新工作信息
    public interface UpdateWorkerInfoModel {
        void updateWorkerInfo(Context mContext, RecruitDoWorkParam param, OnLoadDataIm callback);
    }

    public interface UpdateWorkerInfoView extends BaseView {
        RecruitDoWorkParam updateWorkerInfo();

        void updateSuccess();
    }

    public interface UpdateWorkerPersenter {
        void updateWorkerInfo();
    }

    //删除招聘信息
    public interface DeleteWorkModel {
        void deleteWork(Context mContext, String id, OnLoadDataIm callback);
    }

    public interface DeleteWorkView extends BaseView {
        String deleteWorkId();

        void onDeleteSuccess();
    }

    public interface DeleteWorkPersenter {
        void DeleteWork();
    }

    //获取求职者数量
    public interface getWorkerNumModel {
        void getWorkerNum(Context mContext, OnLoadDataIm callback);
    }

    public interface getWorkerNumView extends BaseView {
        void onGetWorkerNumSuccesss(Object o);
    }

    public interface getWorkerNumPersenter {
        void getWorkerNum();
    }

    //获取工作数量
    public interface getWorkNumModel{
        void getWorkNum(Context mContext,OnLoadDataIm callback);
    }
    public interface getWorkNumView extends BaseView{
        void onGetWorkNumSuccess(Object o);
    }
    public interface getWorkNumPersenter{
        void getWorkNum();
    }
}
